/**
 *  @author :   JiGuangJie
 *  @date   :   2020/6/11
 *  @time   :   11:08
 *  @Email  :   530904731@qq.com
 */
// 给定一个整数数组 nums 和一个目标值 target，请你在该数组中找出和为目标值的那 两个 整数，并返回他们的数组下标。
// 你可以假设每种输入只会对应一个答案。但是，数组中同一个元素不能使用两遍。
// 示例:
//     给定 nums = [2, 7, 11, 15], target = 9;
//     因为 nums[0] + nums[1] = 2 + 7 = 9;
//     所以返回 [0, 1];
/**
 * 思路：使用双层for循环遍历两两数值，根据两两数值的和判断是否和目标值相同，相同则返回对应的下标，不同则返回一个空数组
 */
/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
let twoSum = function (nums, target) {
    for (let i = 0; i < nums.length; i++) {
        const num = nums[i];
        for (let j = i + 1; j < nums.length; j++) {
            const argument = nums[j];
            if (num + argument === target) {
                return [i, j];
            }
        }
    }
    return [];
};

let nums = [2, 7, 11, 15];
let target = 18;
console.time('tow-sum');
let result = twoSum(nums, target);
console.timeEnd('tow-sum');
console.log(result);
